package com.infosys.cabplanningdao;

import java.util.List;

import com.infosys.cabplanning.common.domain.Cab;
import com.infosys.cabplanning.common.domain.CriteriaDTO;
import com.infosys.cabplanning.common.domain.Driver;
import com.infosys.cabplanning.common.domain.Employee;
import com.infosys.cabplanning.common.domain.Schedule;
import com.infosys.cabplanning.common.domain.TripDetails;

public interface CabPlanningDAOService {
	
	/**
	 * 
	 * @param driver
	 */
	public void saveDriver(List<Driver> driverList);

	/**
	 * 
	 * @param phoneNumber
	 * @return
	 */
	public List<Driver> findDriver(Driver driverSearchDTO); 
	
	/**
	 * 
	 * @param cabList
	 */
	public void saveCab(List<Cab> cabList);
	
	/**
	 * 
	 * @param cabSearchDTO
	 * @return
	 */
	public List<Cab> findCabs(Cab cabSearchDTO); 
	
	/**
	 * 
	 * @param scheduleSearchDTO
	 * @return
	 */
	public List<Schedule> findSchedules(Schedule scheduleSearchDTO);
	
	/**
	 * 
	 * @param tripDetailsList
	 */
	public void saveTripDetails(List<TripDetails> tripDetailsList);
	
	/**
	 * 
	 * @param criteriaDTO
	 * @return
	 */
	public List<TripDetails> getTripDetails(CriteriaDTO criteriaDTO);
	
	/**
	 * 
	 * @param schedule
	 * @return
	 */
	public List<Employee> getEmployees(Schedule schedule);
}
